% syms y(t)
% eqn = diff(y,t) == -1000*(y - sin(t)) + cos(t);
% cond = y(0) == 1;
% sol = dsolve(eqn, cond);
% % 定义ODE函数
% odefun = @(t, y) -1000 * (y - sin(t)) + cos(t);
% 
% % 初始条件
% t0 = 0;
% y0 = 1;
% 
% % 时间区间
% tspan = [0, 1];
% 
% % 使用ode23求解器求解ODE
% [t_ode23, y_ode23] = ode23(odefun, tspan, y0);
% 
% % 获取ode23的步数
% numSteps_ode23 = length(t_ode23);
% % 使用ode23s求解器求解ODE
% [t_ode23s, y_ode23s] = ode23s(odefun, tspan, y0);
% 
% % 获取ode23s的步数
% numSteps_ode23s = length(t_ode23s);
% % 绘制解曲线
% figure;
% plot(t_ode23, y_ode23, 'bx', 'DisplayName', 'ode23');
% hold on;
% plot(t_ode23s, y_ode23s, 'ro', 'DisplayName', 'ode23s');
% xlabel('t');
% ylabel('y(t)');
% %title('Comparison of ode23 and ode23s Solutions');
% legend('show');
% grid on;
% % 找到变化缓慢的区域
slowRegion = [0.8, 1, min(y_ode23), max(y_ode23)];

% 放大并绘制
axes('Position', slowRegion);
plot(t_ode23, y_ode23, 'bx', 'DisplayName', 'ode23');
hold on;
plot(t_ode23s, y_ode23s, 'ro', 'DisplayName', 'ode23s');
xlabel('t');
ylabel('y(t)');
title('Zoomed Comparison of ode23 and ode23s Solutions (Slow Region)');
legend('show');
grid on;